Rendering of game characters

ABSTRACT

Technologies are generally described for rendering a character for games. In some examples, a method performed under control of a game server may include calculating a level of detail (LOD) for a first character positioned in a same virtual game space as a second character, based at least in part on a calculated degree of closeness between the first character and the second character; and controlling a display definition of the first character based at least in part on the calculated LOD.

CROSS-REFERENCE TO RELATED APPLICATIONS

This Application is a continuation application under 35 U.S.C. § 120 ofU.S. patent application Ser. No. 14/784,427, filed Oct. 14, 2015, whichis the U.S. National Stage filing under 35 U.S.C. § 371 of InternationalApplication No. PCT/US2014/014403, filed Feb. 3, 2014. The disclosuresof both of the aforementioned applications are hereby incorporatedherein by reference in their entirety.

BACKGROUND

Massively multiplayer online role-playing game (MMORPG) is a genre ofrole-playing video games or web browser-based games in which a verylarge number of players interact with one another within a virtual gameworld. As in all RPGs, players assume the role of a character (often ina fantasy world or science-fiction world) and take control over many ofthat character's actions. MMORPGs are distinguished from single-playeror small multi-player online RPGs by the number of players, and by thegame's persistent world, which continues to exist and evolve while theplayer is offline and away from the game.

SUMMARY

In an example, a method performed under control of a game server mayinclude calculating a level of detail (LOD) for a first characterpositioned in a same virtual game space as a second character, based atleast in part on a calculated degree of closeness between the firstcharacter and the second character; and controlling a display definitionof the first character based at least in part on the calculated LOD.

In another example, a game server may include a calculating unitconfigured to calculate a level of detail (LOD) for a first characterpositioned in a same virtual game space as a second character, based atleast in part on a calculated degree of closeness between the firstcharacter and the second character; and a display definition controlunit configured to control a display definition of the first characterbased at least in part on the calculated LOD.

In yet another example, a computer-readable storage medium having storedthereon computer-executable instructions that, in response to execution,may cause a game server to perform operations including: calculating alevel of detail (LOD) for a first character positioned in a same virtualgame space as a second character, based at least in part on a calculateddegree of closeness between the first character and the secondcharacter; and controlling a display definition of the first characterbased at least in part on the calculated LOD.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the drawings and the followingdetailed description.

BRIEF DESCRIPTION OF THE FIGURES

The foregoing and other features of this disclosure will become morefully apparent from the following description and appended claims, takenin conjunction with the accompanying drawings. Understanding that thesedrawings depict only several embodiments in accordance with thedisclosure and are, therefore, not to be considered limiting of itsscope, the disclosure will be described with additional specificity anddetail through use of the accompanying drawings, in which:

FIG. 1 schematically shows an illustrative example of an environmentincluding an end device and a game server, arranged in accordance withat least some embodiments described herein;

FIG. 2 schematically shows an illustrative example graph showing a levelof detail in accordance with a distance between two characters, arrangedin accordance with at least some embodiments described herein;

FIG. 3 shows a schematic block diagram illustrating an examplearchitecture for a game server, arranged in accordance with at leastsome embodiments described herein;

FIG. 4 schematically shows an example flow diagram of a process of agame server for rendering a game character, arranged in accordance withat least some embodiments described herein;

FIG. 5 illustrates computer program products that may be utilized toprovide a game character rendering scheme, arranged in accordance withat least some embodiments described herein; and

FIG. 6 is a block diagram illustrating an example computing device thatmay be utilized to provide a game character rendering scheme, arrangedin accordance with at least some embodiments described herein.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings, which form a part hereof. In the drawings,similar symbols typically identify similar components, unless contextdictates otherwise. The illustrative embodiments described in thedetailed description, drawings, and claims are not meant to be limiting.Other embodiments may be utilized, and other changes may be made,without departing from the spirit or scope of the subject matterpresented herein. It will be readily understood that the aspects of thepresent disclosure, as generally described herein, and illustrated inthe Figures, can be arranged, substituted, combined, separated, anddesigned in a wide variety of different configurations, all of which areexplicitly contemplated herein.

This disclosure is generally drawn, inter alia, to methods, apparatuses,systems, devices, and computer program products related to a gamecharacter rendering scheme. Technologies are generally described for amethod for controlling a display definition of a game character based inpart on a calculated level of detail for the game character and forrendering the game character with the controlled display definition.

In some examples, a first character and a second character of a virtualgame may be displayed on an end device. A game server may be configuredto calculate a degree of closeness between the first character and thesecond character, based at least in part on a history of mutual activitybetween the first character and the second character in a virtual gamespace. Non-limiting examples of the mutual activity may include afrequency of occurrences in which the first character and the secondcharacter are included in a same character party, or a frequency ofoccurrences in which the first character and the second characterexecute a collaborative attack against an opposing character (e.g., amonster character). For example, the more the first character and thesecond character are included in a same character party, the game servermay be configured to determine the degree of closeness between the firstcharacter and the second character to be the higher.

Further, the game server may be configured to determine a level ofdetail (LOD) for the first character in accordance with the calculateddegree of closeness between the first character and the secondcharacter. The game server may be further configured to control adisplay definition of a 2D or 3D image of the first character based inpart on the determined level of detail for the first character. In someembodiments, the game server may be configured to reduce a number ofpolygons used to render the first character, as the level of detaildecreases. On the contrary, the game server may be configured toincrease the number of polygons used to render the first character, asthe level of detail increases.

Further, the game server may be configured to render the first characterwith the controlled number of polygons to be displayed on the enddevice. Accordingly, it is possible to render a game character to whicha user pays more attention with a relatively higher definition, and toreduce graphic resources for rendering a game character to which a userdoes not pay much attention.

FIG. 1 schematically shows an illustrative example of an environment 10including at least one end device 100 and a game server 110, arranged inaccordance with at least some embodiments described herein. Asillustrated in FIG. 1, end device 100 and game server 110 may beconnected to each other via a network 105.

End device 100 may be configured to display a first character 120 and asecond character 130 on a display that is part of, or communicativelycoupled to, end device 100. For example, it may be assumed that secondcharacter 130 refers to a game character which is controlled by a userof end device 100 and first character 120 refers to a game characterwhich is controlled by another user or entity and positioned in a samevirtual game space as second character 130.

As a non-limiting example, end device 100 may refer to a notebookcomputer; a personal computer; a smart phone; a tablet computer; aphablet device; and/or a personal communication terminal, such as PCS(Personal Communication System), GMS (Global System for Mobilecommunications), PDC (Personal Digital Cellular), PDA (Personal DigitalAssistant), IMT (International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA (W-Code Division MultipleAccess) and Wibro (Wireless Broadband Internet) terminals.

By way of example, but not as a limitation, network 105 between enddevice 100 and game server 110 may include all kinds of wirelessnetworks, non-limiting examples of which may include a mobile radiocommunication network, a satellite network, a bluetooth, WiBro (WirelessBroadband Internet), Mobile WiMAX, HSDPA (High Speed Downlink PacketAccess) or the like.

Game server 110 may refer to one or more apparatuses or servers that arehosted on or by a game service providing organization or entity. In someembodiments, game server 110 may be configured to calculate a degree ofcloseness between first character 120 and second character 130, based atleast in part on a history of mutual activity between first character120 and second character 130 in a virtual game space. For example, thecloseness may refer to a relationship or communication between at leasttwo characters or players in a virtual game space. Non-limiting examplesof the history of mutual activity may include at least one of firstcharacter 120 and second character 130 being included in a samecharacter party for a predetermined amount of time, a frequency ofoccurrences in which first character 120 and second character 130 areincluded in the same character party, a frequency of occurrences inwhich first character 120 and second character 130 execute acollaborative attack against an opposing character (e.g., a monstercharacter), or a frequency of occurrences in which first character 120and second character 130 interact with each other (e.g., a chat betweenfirst character 120 and second character 130).

In some embodiments, game server 110 may be configured to predefinevarious weight coefficients, each of which corresponds to various kindsof mutual activities. For example, game server 110 may be configured toassign a relatively higher weight coefficient to the occurrence in whichfirst character 120 and second character 130 execute a collaborativeattack against an opposing character than the occurrence in which firstcharacter 120 and second character 130 are included in the samecharacter party. Game server 110 may be configured to then calculate thedegree of closeness between first character 120 and second character 130by using the frequency of each mutual activity and the weightcoefficients assigned to each mutual activity. For another example, gameserver 110 may be configured to predefine a weight coefficient accordingto the amount of time for which first character 120 and second character130 are included in a same character party. Game server 110 may beconfigured to assign the higher weight coefficient, as first character120 and second character 130 are included in the same character partyfor the much amount of time. Game server 110 may be configured to thencalculate the degree of closeness between first character 120 and secondcharacter 130 by using the amount of time for which first character 120and second character 130 are included in the same character party andthe assigned weight coefficients.

Game server 110 may be configured to store the history of mutualactivity between first character 120 and second character 130 in amemory that is part of, or communicatively coupled to, game server 110.Game server 110 may be further configured to update the memory in realtime or at predetermined time intervals. Further, game server 110 may beconfigured to calculate the degree of closeness between first character120 and second character 130 in real time or at predetermined timeintervals, using the updated history of mutual activity.

Further, game server 110 may be configured to calculate a distancebetween first character 120 and second character 130 in the virtual gamespace. The distance may be measured as spatial proximity in the virtualgame space. In some embodiments, game server 110 may be configured totrace or detect a current position of first character 120 and a currentposition of second character 130 in the same virtual game space.Further, game server 110 may be configured to store the traced ordetected current positions of first character 120 and second character130 in a memory. Game server 110 may be configured to calculate thedistance between first character 120 and second character 130, based atleast in part on the current position of first character 120 and thecurrent position of second character 130.

Game server 110 may be configured to calculate a level of detail forfirst character 120 positioned in the same virtual game space as secondcharacter 130, based at least in part on at least one of the calculateddegree of closeness between first character 120 and second character 130or the calculated distance between first character 120 and secondcharacter 130. In some embodiments, as the calculated degree ofcloseness between first character 120 and second character 130 is thehigher, game server 110 may be configured to determine a level of detailfor first character 120 to be the higher. Further, as the calculateddistance between first character 120 and second character 130 is theshorter, game server 110 may be configured to determine a level ofdetail for first character 120 to be the higher.

Game server 110 may be configured to control a display property of firstcharacter 120 based at least in part on the calculated level of detailfor first character 120. By way of example, but not as a limitation, thedisplay property may include at least one of a display definition, atransparency, a visibility, a chroma, or a resolution. In someembodiments, game server 110 may be configured to control a number ofpolygons (e.g., vertices) used to render first character 120 based onthe calculated level of detail for first character 120 in order tocontrol the display definition of first character 120. Game server 110may be configured to reduce the number of polygons, relative to apredefined standard number of polygons, as the calculated level ofdetail for first character 120 decreases. For example, the standardnumber of polygons may refer to a number of polygons with which acharacter is rendered in a normal state. On the contrary, game server110 may be configured to increase the number of polygons, relative tothe standard number of polygons, as the calculated level of detail forfirst character 120 increases.

In some other embodiments, game server 110 may be configured to controlthe number of polygons used to render first character 120 based on thecalculated distance between first character 120 and second character 130in the virtual game space in order to control the display definition offirst character 120. Game server 110 may be configured to reduce thenumber of polygons, relative to a predefined standard number ofpolygons, as the distance between first character 120 and secondcharacter 130 increases. On the contrary, game server 110 may beconfigured to increase the number of polygons, relative to the standardnumber of polygons, as the distance between first character 120 andsecond character 130 decreases.

Further, game server 110 may be configured to control the number ofpolygons used to render first character 120 in real time or atpredetermined time intervals, as game server 110 calculates the level ofdetail for first character 120 or the distance between first character120 and second character 130 in real time or at predetermined timeintervals.

Game server 110 may be configured to render first character 120 havingthe controlled display definition to be displayed on end device 100.Game server 110 may be configured to render first character 120 with thecontrolled number of polygons. For example, the controlled number ofpolygons may refer to the reduced or increased number of polygonsrelative to the standard number of polygons. In some embodiments, gameserver 110 may be configured to encode an image of first character 120into a video stream, and to transmit the video stream to end device 100.Then, a 2D or 3D image of first character 120, which is formed from thecontrolled number of polygons, may be displayed on end device 100.

Accordingly, if the level of detail for first character 120 isrelatively higher, a larger number of polygons may be used to renderfirst character 120, so a relatively much fine and delicate 2D or 3Dimage of first character 120 may be displayed on end device 100. On thecontrary, if the level of detail for first character 120 is relativelylower, a smaller number of polygons may be used to render firstcharacter 120, so a relatively much flat and blur 2D or 3D image offirst character 120 may be displayed on end device 100.

FIG. 2 schematically shows an illustrative example 20 graph showing alevel of detail in accordance with a distance between two characters,arranged in accordance with at least some embodiments described herein.As depicted in FIG. 2, an x-axis may refer to a distance 210 betweenfirst character 120 and second character 130, and a y-axis may refer toa level of detail 220 for first character 120. As depicted in FIG. 2, asdistance 210 between first character 120 and second character 130increases, level of detail 220 for first character 120 decreases.Although, in FIG. 2, level of detail 220 for first character 120 isdepicted to be changed in an S-shape curve, level of detail 220 forfirst character 120 may be changed having other tendency. For example,level of detail 220 for first character 120 may be decreased whiledrawing a straight line, as distance 210 between first character 120 andsecond character 130 increases. For another example, level of detail 220for first character 120 may be decreased step by step, as distance 210between first character 120 and second character 130 is larger than athreshold value.

FIG. 3 shows a schematic block diagram illustrating an examplearchitecture for a game server 110, arranged in accordance with at leastsome embodiments described herein. As depicted in FIG. 3, game server110 may include a calculating unit 310, a display definition controlunit 320, a graphic processing unit (GPU) 330, an activity database 340,and a character database 350. Although illustrated as discretecomponents, various components may be divided into additionalcomponents, combined into fewer components, or eliminated altogetherwhile being contemplated within the scope of the disclosed subjectmatter. It will be understood by those skilled in the art that eachfunction and/or operation of the components may be implemented,individually and/or collectively, by a wide range of hardware, software,firmware, or virtually any combination thereof. In that regard, one ormore of calculating unit 310, display definition control unit 320,graphic processing unit 330, activity database 340, and characterdatabase 350 may be included in an instance of an application hosted ongame server 110.

Calculating unit 310 may be configured to calculate a degree ofcloseness between first character 120 and second character 130 based atleast in part on a history of mutual activity between first character120 and second character 130 in a same virtual game space. Calculatingunit 310 may be configured to calculate the degree of closeness betweenfirst character 120 and second character 130 in real time or atpredetermined time intervals.

Non-limiting examples of the history of mutual activity may include atleast one of first character 120 and second character 130 being includedin a same character party for a predetermined amount of time, afrequency of occurrences in which first character 120 and secondcharacter 130 are included in the same character party, a frequency ofoccurrences in which first character 120 and second character 130execute a collaborative attack against an opposing character (e.g., amonster character), or a frequency of occurrences in which firstcharacter 120 and second character 130 interact with each other (e.g., achat between first character 120 and second character 130).

In some embodiments, calculating unit 310 may be configured to assignvarious weight coefficients to various kinds of mutual activities. Forexample, but not as a limitation, game server 110 may be configured toassign a relatively higher weight coefficient to the occurrence in whichfirst character 120 and second character 130 execute a collaborativeattack against an opposing character than the occurrence in which firstcharacter 120 and second character 130 are included in the samecharacter party. Calculating unit 310 may be configured to thencalculate the degree of closeness between first character 120 and secondcharacter 130 by using the frequency of each mutual activity and theweight coefficients assigned to each mutual activity.

For another example, calculating unit 310 may be configured to predefinevarious weight coefficients according to the amount of time for whichfirst character 120 and second character 130 are included in a samecharacter party. Calculating unit 310 may be configured to assign thehigher weight coefficient, as first character 120 and second character130 are included in a same character party for the much amount of time.Calculating unit 310 may be configured to then calculate the degree ofcloseness between first character 120 and second character 130 by usingthe amount of time for which first character 120 and second character130 are included in the same character party and the assigned weightcoefficients.

Further, calculating unit 310 may be configured to calculate a distancebetween first character 120 and second character 130 in the virtual gamespace. In some embodiments, calculating unit 310 may be configured tocalculate the distance between first character 120 and second character130 based at least in part on a current position of first character 120and a current position of second character 130.

Further, calculating unit 310 may be configured to calculate a level ofdetail for first character 120 positioned in the same virtual game spaceas second character 130, based at least in part on at least one of thecalculated degree of closeness between first character 120 and secondcharacter 130 or the calculated distance between first character 120 andsecond character 130. In some embodiments, as the calculated degree ofcloseness between first character 120 and second character 130 is thehigher, calculating unit 310 may be configured to determine a level ofdetail for first character 120 to be the higher. Further, as thecalculated distance between first character 120 and second character 130is the shorter, calculating unit 310 may be configured to determine alevel of detail for first character 120 to be the higher.

Display definition control unit 320 may be configured to control adisplay property of first character 120 based at least in part on thecalculated level of detail for first character 120. By way of example,but not as a limitation, the display property may include at least oneof a display definition, a transparency, a visibility, a chroma, or aresolution. In some embodiments, display definition control unit 320 maybe configured to control a number of polygons (e.g., vertices) used torender first character 120 based on the calculated level of detail forfirst character 120 in order to control the display definition of firstcharacter 120. Display definition control unit 320 may be configured toreduce the number of polygons, relative to a predefined standard numberof polygons, as the calculated level of detail for first character 120decreases. On the contrary, display definition control unit 320 may beconfigured to increase the number of polygons, relative to the standardnumber of polygons, as the calculated level of detail for firstcharacter 120 increases.

Further, display definition control unit 320 may be configured tocontrol the number of polygons used to render first character 120, basedin part on the calculated distance between first character 120 andsecond character 130 in the virtual game space. Display definitioncontrol unit 320 may be configured to reduce the number of polygons,relative to a predefined standard number of polygons, as the distancebetween first character 120 and second character 130 increases. On thecontrary, display definition control unit 320 may be configured toincrease the number of polygons, relative to the standard number ofpolygons, as the distance between first character 120 and secondcharacter 130 decreases.

Display definition control unit 320 may be further configured to controlthe number of polygons used to render first character 120 in real timeor at predetermined time intervals, as calculating unit 310 calculatesthe level of detail for first character 120 and the distance betweenfirst character 120 and second character 130 in real time or atpredetermined time intervals.

Graphic processing unit 330 may be configured to render first character120 with the controlled number of polygons to be displayed on end device100. In some embodiments, graphic processing unit 330 may be configuredto encode an image of first character 120 into a video stream, and totransmit the video stream to end device 100. Then, a 2D or 3D image offirst character 120, which is formed from the controlled number ofpolygons, may be displayed on end device 100.

Activity database 340 may be configured to store the history of mutualactivity between first character 120 and second character 130. Thehistory of mutual activity stored in activity database 340 may beupdated in real time or at predetermined time intervals.

Character database 350 may be configured to store 2D or 3D images ofmultiple game characters. Further, character database 350 may beconfigured to store information regarding the multiple game characters.By way of example, but not as a limitation, the information regardingthe multiple game characters may include a current position ofrespective one of the multiple game characters, a game species for therespective one of the multiple game characters, virtual game attributesfor the respective one of the multiple game characters, virtual gameskills for the respective one of the multiple game characters, orvirtual game items with which the respective one of the multiple gamecharacters are equipped.

FIG. 4 schematically shows an example flow diagram of a process 400 of agame server 110 for rendering a game character, arranged in accordancewith at least some embodiments described herein. The process in FIG. 4may be implemented in environment 10 including end device 100 and gameserver 110, as illustrated in FIG. 1. An example process may include oneor more operations, actions, or functions as illustrated by one or moreblocks 410, 420, 430, 440 and/or 450. Although illustrated as discreteblocks, various blocks may be divided into additional blocks, combinedinto fewer blocks, or eliminated, depending on the desiredimplementation. Processing may begin at block 410.

At block 410 (Calculate Degree of Closeness Between First Character andSecond Character), game server 110 may calculate a degree of closenessbetween first character 120 and second character 130, based at least inpart on a history of mutual activity between first character 120 andsecond character 130 in a virtual game space. In some embodiments, gameserver 110 may calculate the degree of closeness between first character120 and second character 130 in real time or at predetermined timeintervals.

Non-limiting examples of the history of mutual activity may include atleast one of first character 120 and second character 130 being includedin a same character party for a predetermined amount of time, afrequency of occurrences in which first character 120 and secondcharacter 130 are included in the same character party, a frequency ofoccurrences in which first character 120 and second character 130execute a collaborative attack against an opposing character (e.g., amonster character), or a frequency of occurrences in which firstcharacter 120 and second character 130 interact with each other (e.g., achat between first character 120 and second character 130). Processingmay proceed from block 410 to block 420.

At block 420 (Calculate Distance Between First Character and SecondCharacter), game server 110 may calculate a distance between firstcharacter 120 and second character 130 in the virtual game space. Insome embodiments, game server 110 may calculate the distance betweenfirst character 120 and second character 130, based at least in part ona current position of first character 120 and a current position ofsecond character 130. Processing may proceed from block 420 to block430.

At block 430 (Calculate Level of Detail for First Character), gameserver 110 may calculate a level of detail for first character 120positioned in the same virtual game space as second character 130, basedat least in part on at least one of the degree of closeness betweenfirst character 120 and second character 130, which is calculated atblock 410, or the distance between first character 120 and secondcharacter 130, which is calculated at block 420. In some embodiments, asthe calculated degree of closeness between first character 120 andsecond character 130 is the higher, game server 110 may determine alevel of detail for first character 120 to be the higher. Further, asthe calculated distance between first character 120 and second character130 is the shorter, game server 110 may determine a level of detail forfirst character 120 to be the higher. Processing may proceed from block430 to block 440.

At block 440 (Control Display Definition of First Character), gameserver 110 may control a display definition of first character 120 basedat least in part on the level of detail for first character 120, whichis calculated at block 430. In some embodiments, game server 110 maycontrol a number of polygons (e.g., vertices) used to render firstcharacter 120 based in part on the calculated level of detail for firstcharacter 120 in order to control the display definition of firstcharacter 120. Game server 110 may reduce the number of polygons,relative to a predefined standard number of polygons, as the level ofdetail for first character 120 decreases. On the contrary, game server110 may increase the number of polygons, relative to the standard numberof polygons, as the level of detail for first character 120 increases.

Further, in some other embodiments, at block 440, game server 110 maycontrol the number of polygons used to render first character 120 basedin part on the distance between first character 120 and second character130, which is calculated at block 420. Game server 110 may reduce thenumber of polygons as the distance between first character 120 andsecond character 130 increases. On the contrary, game server 110 mayincrease the number of polygons as the distance between first character120 and second character 130 decreases. Processing may proceed fromblock 440 to block 450.

At block 450 (Render First Character), game server 110 may render firstcharacter 120 with the number of polygons, which is controlled at block440, to be displayed on end device 100. In some embodiments, game server110 may encode an image of first character 120 into a video stream, andtransmit the video stream to end device 100. Then, a 2D or 3D image offirst character 120, which is formed from the controlled number ofpolygons, may be displayed on end device 100.

One skilled in the art will appreciate that, for this and otherprocesses and methods disclosed herein, the functions performed in theprocesses and methods may be implemented in differing order.Furthermore, the outlined steps and operations are only provided asexamples, and some of the steps and operations may be optional, combinedinto fewer steps and operations, or expanded into additional steps andoperations without detracting from the essence of the disclosedembodiments.

FIG. 5 illustrates computer program products that may be utilized toprovide a game character rendering scheme, arranged in accordance withat least some embodiments described herein. Program product 500 mayinclude a signal bearing medium 510. Signal bearing medium 510 mayinclude one or more instructions 520 that, when executed by, forexample, a processor, may provide the functionality described above withrespect to FIGS. 1-4. By way of example, instructions 520 may include:one or more instructions for calculating a level of detail (LOD) for afirst character positioned in a same virtual game space as a secondcharacter, based at least in part on a calculated degree of closenessbetween the first character and the second character; or one or moreinstructions for controlling a display definition of the first characterbased at least in part on the calculated LOD. Thus, for example,referring to FIG. 3, game server 110 may undertake one or more of theblocks shown in FIG. 4 in response to instructions 520.

In some implementations, signal bearing medium 510 may encompass acomputer-readable medium 530, such as, but not limited to, a hard diskdrive, a CD, a DVD, a digital tape, memory, etc. In someimplementations, signal bearing medium 510 may encompass a recordablemedium 540, such as, but not limited to, memory, read/write (R/W) CDs,R/W DVDs, etc. In some implementations, signal bearing medium 510 mayencompass a communications medium 550, such as, but not limited to, adigital and/or an analog communication medium (e.g., a fiber opticcable, a waveguide, a wired communications link, a wirelesscommunication link, etc.). Thus, for example, program product 500 may beconveyed to one or more modules of game server 110 by an RF signalbearing medium 510, where the signal bearing medium 510 is conveyed by awireless communications medium 550 (e.g., a wireless communicationsmedium conforming with the IEEE 802.11 standard).

FIG. 6 is a block diagram illustrating an example computing device thatmay be utilized to provide a game character rendering scheme, arrangedin accordance with at least some embodiments described herein. In theseexamples, elements of computing device 600 may be arranged or configuredfor a device. In a very basic configuration 602, computing device 600typically includes one or more processors 604 and a system memory 606. Amemory bus 608 may be used for communicating between processor 604 andsystem memory 606.

Depending on the desired configuration, processor 604 may be of any typeincluding but not limited to a microprocessor (μP), a microcontroller(μC), a digital signal processor (DSP), or any combination thereof.Processor 604 may include one more levels of caching, such as a levelone cache 610 and a level two cache 612, a processor core 614, andregisters 616. An example processor core 614 may include an arithmeticlogic unit (ALU), a floating point unit (FPU), a digital signalprocessing core (DSP Core), or any combination thereof. An examplememory controller 618 may also be used with processor 604, or in someimplementations memory controller 618 may be an internal part ofprocessor 604.

Depending on the desired configuration, system memory 606 may be of anytype including but not limited to volatile memory (such as RAM),non-volatile memory (such as ROM, flash memory, etc.) or any combinationthereof. System memory 606 may include an operating system 620, anapplication 622, and program data 624. Application 622 may includeinstructions 626 that may be arranged to perform the functions asdescribed herein including the actions described with respect to gameserver 110 architecture as shown in FIG. 3 or including the actionsdescribed with respect to the flow charts shown in FIG. 4. In someexamples, application 622 may be arranged to operate with program data624 on an operating system 620 such that the schemes for rendering agame character.

Computing device 600 may have additional features or functionality, andadditional interfaces to facilitate communications between basicconfiguration 602 and any required devices and interfaces. For example,a bus/interface controller 630 may be used to facilitate communicationsbetween basic configuration 602 and one or more data storage devices 632via a storage interface bus 634. Data storage devices 632 may beremovable storage devices 636, non-removable storage devices 638, or acombination thereof. Examples of removable storage and non-removablestorage devices include magnetic disk devices such as flexible diskdrives and hard-disk drives (HDD), optical disk drives such as compactdisk (CD) drives or digital versatile disk (DVD) drives, solid statedrives (SSD), and tape drives to name a few. Example computer storagemedia may include volatile and nonvolatile, removable and non-removablemedia implemented in any method or technology for storage ofinformation, such as computer readable instructions, data structures,program modules, or other data.

System memory 606, removable storage devices 636 and non-removablestorage devices 638 are examples of computer storage media. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other mediumwhich may be used to store the desired information and which may beaccessed by computing device 600. Any such computer storage media may bepart of computing device 600.

Computing device 600 may also include an interface bus 640 forfacilitating communication from various interface devices (e.g., outputdevices 642, peripheral interfaces 644, and communication devices 646)to basic configuration 602 via bus/interface controller 630. Exampleoutput devices 642 include a graphics processing unit 648 and an audioprocessing unit 650, which may be configured to communicate to variousexternal devices such as a display or speakers via one or more A/V ports652. Example peripheral interfaces 644 include a serial interfacecontroller 654 or a parallel interface controller 656, which may beconfigured to communicate with external devices such as input devices(e.g., keyboard, mouse, pen, voice input device, touch input device,etc.) or other peripheral devices (e.g., printer, scanner, etc.) via oneor more I/O ports 658. An example communication device 646 includes anetwork controller 660, which may be arranged to facilitatecommunications with one or more other computing devices 662 over anetwork communication link via one or more communication ports 664.

The network communication link may be one example of a communicationmedia. Communication media may typically be embodied by computerreadable instructions, data structures, program modules, or other datain a modulated data signal, such as a carrier wave or other transportmechanism, and may include any information delivery media. A “modulateddata signal” may be a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signal.By way of example, and not limitation, communication media may includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, radio frequency (RF), microwave,infrared (IR) and other wireless media. The term computer readable mediaas used herein may include both storage media and communication media.

Computing device 600 may be implemented as a portion of a small-formfactor portable (or mobile) electronic device such as a cell phone, apersonal data assistant (PDA), a personal media player device, awireless web-watch device, a personal headset device, an applicationspecific device, or a hybrid device that include any of the abovefunctions. Computing device 600 may also be implemented as a personalcomputer including both laptop computer and non-laptop computerconfigurations.

The present disclosure is not to be limited in terms of the particularembodiments described in this application, which are intended asillustrations of various aspects. Many modifications and variations canbe made without departing from its spirit and scope, as will be apparentto those skilled in the art. Functionally equivalent methods andapparatuses within the scope of the disclosure, in addition to thoseenumerated herein, will be apparent to those skilled in the art from theforegoing descriptions. Such modifications and variations are intendedto fall within the scope of the appended claims. The present disclosureis to be limited only by the terms of the appended claims, along withthe full scope of equivalents to which such claims are entitled. It isto be understood that this disclosure is not limited to particularmethods, reagents, compounds, compositions or biological systems, whichcan, of course, vary. It is also to be understood that the terminologyused herein is for the purpose of describing particular embodimentsonly, and is not intended to be limiting.

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

It will be understood by those within the art that, in general, termsused herein, and especially in the appended claims (e.g., bodies of theappended claims) are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.). It will be further understood by those within the art that if aspecific number of an introduced claim recitation is intended, such anintent will be explicitly recited in the claim, and in the absence ofsuch recitation no such intent is present. For example, as an aid tounderstanding, the following appended claims may contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimrecitations. However, the use of such phrases should not be construed toimply that the introduction of a claim recitation by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim recitation to embodiments containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should be interpreted to mean “at least one”or “one or more”); the same holds true for the use of definite articlesused to introduce claim recitations. In addition, even if a specificnumber of an introduced claim recitation is explicitly recited, thoseskilled in the art will recognize that such recitation should beinterpreted to mean at least the recited number (e.g., the barerecitation of “two recitations,” without other modifiers, means at leasttwo recitations, or two or more recitations). Furthermore, in thoseinstances where a convention analogous to “at least one of A, B, and C,etc.” is used, in general such a construction is intended in the senseone having skill in the art would understand the convention (e.g., “asystem having at least one of A, B, and C” would include but not belimited to systems that have A alone, B alone, C alone, A and Btogether, A and C together, B and C together, and/or A, B, and Ctogether, etc.). In those instances where a convention analogous to “atleast one of A, B, or C, etc.” is used, in general such a constructionis intended in the sense one having skill in the art would understandthe convention (e.g., “a system having at least one of A, B, or C” wouldinclude but not be limited to systems that have A alone, B alone, Calone, A and B together, A and C together, B and C together, and/or A,B, and C together, etc.). It will be further understood by those withinthe art that virtually any disjunctive word and/or phrase presenting twoor more alternative terms, whether in the description, claims, ordrawings, should be understood to contemplate the possibilities ofincluding one of the terms, either of the terms, or both terms. Forexample, the phrase “A or B” will be understood to include thepossibilities of “A” or “B” or “A and B.”

In addition, where features or aspects of the disclosure are describedin terms of Markush groups, those skilled in the art will recognize thatthe disclosure is also thereby described in terms of any individualmember or subgroup of members of the Markush group.

As will be understood by one skilled in the art, for any and allpurposes, such as in terms of providing a written description, allranges disclosed herein also encompass any and all possible subrangesand combinations of subranges thereof. Any listed range can be easilyrecognized as sufficiently describing and enabling the same range beingbroken down into at least equal halves, thirds, quarters, fifths,tenths, etc. As a non-limiting example, each range discussed herein canbe readily broken down into a lower third, middle third and upper third,etc. As will also be understood by one skilled in the art all languagesuch as “up to,” “at least,” and the like include the number recited andrefer to ranges which can be subsequently broken down into subranges asdiscussed above. Finally, as will be understood by one skilled in theart, a range includes each individual member. Thus, for example, a grouphaving 1-3 cells refers to groups having 1, 2, or 3 cells. Similarly, agroup having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells,and so forth.

From the foregoing, it will be appreciated that various embodiments ofthe present disclosure have been described herein for purposes ofillustration, and that various modifications may be made withoutdeparting from the scope and spirit of the present disclosure.Accordingly, the various embodiments disclosed herein are not intendedto be limiting, with the true scope and spirit being indicated by thefollowing claims.

1. (canceled)
 2. A method performed under control of a game server, themethod comprising: calculating a first degree of closeness between afirst character and a second character positioned in a virtual gamespace of a virtual game, based at least in part on a history of mutualactivity in the virtual game between the first character and the secondcharacter; calculating a first level of detail (LOD) for the secondcharacter, based at least in part on the first degree of closeness;calculating a second degree of closeness between the first character anda third character, positioned in the virtual game space of the virtualgame, based at least in part on a history of mutual activity in thevirtual game between the first character and the third character;calculating a second level of detail (LOD) for the third character,based at least in part on the second degree of closeness; determining afirst number of polygons used to render the second character based onthe first LOD and a second number of polygons used to render the thirdcharacter based on the second LOD; rendering the second character withthe first number of polygons and the third character with the secondnumber of polygons; and providing the rendered second character and therendered third character to an end device of a player associated withthe first character for display by the end device.
 3. The method ofclaim 2, wherein the history of mutual activity between the firstcharacter and the second character indicates a higher level of mutualactivity than the history of mutual activity between the first characterand the third character, and wherein the first LOD is higher than thesecond LOD.
 4. The method of claim 3, wherein a first virtual distancebetween the first character and the second character in the virtual gamespace and a second virtual distance between the first character and thethird character in the virtual game space are identical, and wherein thefirst number of polygons and the second number of polygons aredifferent.
 5. The method of claim 4, wherein the first number ofpolygons is larger than the second number of polygons.
 6. The method ofclaim 3, wherein the first number of polygons is larger than a standardnumber of polygons, and wherein the second number of polygons is smallerthan the standard number of polygons.
 7. The method of claim 3, whereingraphic resources of the game server utilized to render the secondcharacter are higher than graphic resources of the game server utilizedto render the third character.
 8. The method of claim 2, whereincalculating the first degree of closeness and the second degree ofcloseness is executed in real time or at time intervals.
 9. The methodof claim 2, further comprising controlling a display property of thesecond character based on the first LOD, wherein the display propertyincludes at least one of a display definition, a transparency, avisibility, a chroma, or a resolution.
 10. An apparatus, comprising: acalculation unit operable to: calculate a first degree of closenessbetween a first character and a second character positioned in a virtualgame space of a virtual game, based at least in part on a history ofmutual activity in the virtual game between the first character and thesecond character; calculate a first level of detail (LOD) for the secondcharacter, based at least in part on the first degree of closeness;calculate a second degree of closeness between the first character and athird character, positioned in the virtual game space of the virtualgame, based at least in part on a history of mutual activity in thevirtual game between the first character and the third character; andcalculate a second level of detail (LOD) for the third character, basedat least in part on the second degree of closeness; a display definitioncontrol unit coupled to the calculation unit, and operable to determinea first number of polygons used to render the second character based onthe first LOD and a second number of polygons used to render the thirdcharacter based on the second LOD; a graphics processor unit (GPU)coupled to the display definition control unit, and operable to renderthe second character with the first number of polygons and the thirdcharacter with the second number of polygons; and a communication devicecoupled to the GPU, and operable to provide the rendered secondcharacter and the rendered third character to an end device of a playerassociated with the first character for display by the end device. 11.The apparatus of claim 10, wherein the history of mutual activitybetween the first character and the second character indicates a higherlevel of mutual activity than the history of mutual activity between thefirst character and the third character, and wherein the first LOD ishigher than the second LOD.
 12. The apparatus of claim 11, wherein afirst virtual distance between the first character and the secondcharacter in the virtual game space and a second virtual distancebetween the first character and the third character in the virtual gamespace are identical, and wherein the first number of polygons and thesecond number of polygons are different.
 13. The apparatus of claim 12,wherein the first number of polygons is larger than the second number ofpolygons.
 14. The apparatus of claim 11, wherein the first number ofpolygons is larger than a standard number of polygons, and wherein thesecond number of polygons is smaller than the standard number ofpolygons.
 15. The apparatus of claim 12, wherein graphic resourcesutilized to render the second character are higher than graphicresources utilized to render the third character.
 16. The apparatus ofclaim 11, wherein the calculation unit is operable to calculate thefirst degree of closeness and the second degree of closeness in realtime or at time intervals.
 17. The apparatus of claim 11, wherein thedisplay definition control unit is further operable to control a displayproperty of the second character based on the first LOD, and wherein thedisplay property includes at least one of a display definition, atransparency, a visibility, a chroma, or a resolution.
 18. An article ofmanufacture, comprising: a computer-readable medium havingcomputer-executable instructions stored thereon that, in response toexecution by one or more processors, enable the one or more processorsto perform or control performance of operations that include: calculatea first degree of closeness between a first character and a secondcharacter positioned in a virtual game space of a virtual game, based atleast in part on a history of mutual activity in the virtual gamebetween the first character and the second character; calculate a firstlevel of detail (LOD) for the second character, based at least in parton the first degree of closeness; calculate a second degree of closenessbetween the first character and a third character, positioned in thevirtual game space of the virtual game, based at least in part on ahistory of mutual activity in the virtual game between the firstcharacter and the third character; calculate a second level of detail(LOD) for the third character, based at least in part on the seconddegree of closeness; determine a first number of polygons used to renderthe second character based on the first LOD and a second number ofpolygons used to render the third character based on the second LOD;render the second character with the first number of polygons and thethird character with the second number of polygons; and provide therendered second character and the rendered third character to an enddevice of a player associated with the first character for display bythe end device.
 19. The article of manufacture of claim 18, wherein thehistory of mutual activity between the first character and the secondcharacter indicates a higher level of mutual activity than the historyof mutual activity between the first character and the third character,and wherein the first LOD is higher than the second LOD.
 20. The articleof manufacture of claim 18, wherein calculation of the first degree ofcloseness and the second degree of closeness is executed in real time orat time intervals.
 21. The article of manufacture of claim 18, whereinthe operations further include: control a display property of the secondcharacter based on the first LOD, wherein the display property includesat least one of a display definition, a transparency, a visibility, achroma, or a resolution.